package com.cs.beneficios.web.action;
import com.cs.beneficios.business.model.ValorFlexibleVO;
import com.cs.beneficios.common.ConnectionFactory;
import com.cs.beneficios.common.entity.Consultas;
import java.util.List;
import javax.servlet.http.HttpSession;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForward;
//import org.apache.struts.action.ActionError;
//import org.apache.struts.action.ActionErrors;
import java.io.IOException;
import javax.servlet.ServletException;
import java.sql.SQLException;

public class EliminarVFLAction extends Action 
{
  /**
   * This is the main action called from the Struts framework.
   * @param mapping The ActionMapping used to select this instance.
   * @param form The optional ActionForm bean for this request.
   * @param request The HTTP Request we are processing.
   * @param response The HTTP Response we are processing.
   * @return 
   * @throws java.io.IOException
   * @throws javax.servlet.ServletException
   */
  public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException
  {
    //ConnectionFactory cf = new ConnectionFactory("beneficios","beneficios");
	ConnectionFactory cf = new ConnectionFactory();
    Consultas objCons = new Consultas(cf);
    try{
        HttpSession session = request.getSession();
        String strCodigovfl = request.getParameter("CodigovflElim");
        String strContador = (String)session.getAttribute("Contador");
        int iContador = 0;
        if((Object)strContador != null)
        {
          iContador = Integer.parseInt(strContador);
          iContador-=10;
        }
        int numero=Integer.parseInt(strCodigovfl.trim());
        numero = numero-1;
        numero += iContador;
        List lista = (List)session.getAttribute("listadominio");
        ValorFlexibleVO objvalor = (ValorFlexibleVO)lista.get(numero);
        String Codigo = objvalor.getCodigovfl();
        
        //Proceso para validar si es un atributo generico tipo lista
        String Codigotvfl = objvalor.getCodigotvfl();
        int verificar = objCons.getlistaGeneral(Codigotvfl);
        //fin del proceso
        if(verificar != 1)
        {
          int EliminarCorrecto = objCons.EliminarVFL(Codigo);
          session.setAttribute("msg","Desabilitacion correcta");
        }else
        {
          session.setAttribute("msg","No se puede desabilitar valores de la lista para un atributo general");
        }
        cf.closeConnection(objCons.getConn());
    }catch(SQLException e)
    {
		System.err.println("/******** TDSUB - cwsub");
		e.printStackTrace();
		System.err.println("TDSUB - cwsub ********/");
    }finally
    {
      try{
        cf.closeConnection(objCons.getConn());
      }catch(SQLException e)
      {
		System.err.println("/******** TDSUB - cwsub");
		e.printStackTrace();
		System.err.println("TDSUB - cwsub ********/");
      }
    }
    
    return mapping.findForward("success");
  }
}